package com.naiterui.ehp.bs.patient.prodocl;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Id;

/**
 * 患者病例档案
 * <P>File name : CaseFile.java </P>
 * <P>Author : NTR.Amber </P>
 * <P>Date : 2015年9月10日 </P>
 */
public class MCaseFile {
    public static final int NO = 0; // 不跑索引
    public static final int WAIT = 1; // 待处理
    public static final int ING = 2;  // 处理中
    public static final int FINISH = 3; // 处理完成

    @Id
    private String id;
    // uuid
    private String uuid;
    // 抓取状态（0:不跑索引 1:待处理 2:处理中 3:处理完成）
    private Integer fetchStatus;
    /**
     * 患者id：<code>patientId</code>
     */
    private Long patientId;
    /**
     * 医院id：<code>hospitalId</code>
     */
    private Integer hospitalId;
    /**
     * 医院名：<code>hosptital</code>
     */
    private String hospital;
    /**
     * 科室id：<code>departmentId</code>
     */
    private Integer departmentId;
    /**
     * 科室：<code>department</code>
     */
    private String department;
    /**
     * 医生名：<code>doctor</code>
     */
    private String doctor;
    /**
     * 问诊时间 毫秒值：<code>vistingTime</code>
     */
    private Long vistingTime;
    /**
     * 创建时间：<code>createdAt</code>
     */
    private Date createdAt;
    /**
     * 修改时间：<code>updatedAt</code>
     */
    private Date changedAt;
    /**
     * 创建人：<code>createdBy</code>
     */
    private String createdBy;

    /**
     * 修改人：<code>changedBy</code>
     */
    private String changedBy;
    /**
     * 病情描述：<code>description</code>
     */
    private String description;
    /**
     * 医嘱图片列表：<code>adviceList</code>
     */
    private List<MCaseFileImg> adviceList = new ArrayList<>();
    /**
     * 处方单图片列表：<code>prescriptionList</code>
     */
    private List<MCaseFileImg> prescriptionList = new ArrayList<>();
    /**
     * 检验单图片列表：<code>checkList</code>
     */
    private List<MCaseFileImg> checkList = new ArrayList<>();

    /**
     * @return String 取得域 id 的方法。
     */
    public String getId() {
        return this.id;
    }

    /**
     * @param id 对域 id 的设置方法.
     */
    public void setId(String id) {
        this.id = id;
    }

    public String getUuid() {
        return this.uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public Integer getFetchStatus() {
        return this.fetchStatus;
    }

    public void setFetchStatus(Integer fetchStatus) {
        this.fetchStatus = fetchStatus;
    }

    /**
     * @return Long 取得域 patientId 的方法。
     */
    public Long getPatientId() {
        return this.patientId;
    }

    /**
     * @param patientId 对域 patientId 的设置方法.
     */
    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    /**
     * @return Integer 取得域 hospitalId 的方法。
     */
    public Integer getHospitalId() {
        return this.hospitalId;
    }

    /**
     * @param hospitalId 对域 hospitalId 的设置方法.
     */
    public void setHospitalId(Integer hospitalId) {
        this.hospitalId = hospitalId;
    }

    /**
     * @return String 取得域 hosptital 的方法。
     */
    public String getHospital() {
        return this.hospital;
    }

    /**
     * @param hospital 对域 hosptital 的设置方法.
     */
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }

    /**
     * @return Integer 取得域 departmentId 的方法。
     */
    public Integer getDepartmentId() {
        return this.departmentId;
    }

    /**
     * @param departmentId 对域 departmentId 的设置方法.
     */
    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    /**
     * @return String 取得域 department 的方法。
     */
    public String getDepartment() {
        return this.department;
    }

    /**
     * @param department 对域 department 的设置方法.
     */
    public void setDepartment(String department) {
        this.department = department;
    }

    /**
     * @return String 取得域 doctor 的方法。
     */
    public String getDoctor() {
        return this.doctor;
    }

    /**
     * @param doctor 对域 doctor 的设置方法.
     */
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }

    /**
     * @return Date 取得域 createdAt 的方法。
     */
    public Date getCreatedAt() {
        return this.createdAt;
    }

    /**
     * @param createdAt 对域 createdAt 的设置方法.
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * @return Date 取得域 changedAt 的方法。
     */
    public Date getChangedAt() {
        return this.changedAt;
    }

    /**
     * @param changedAt 对域 changedAt 的设置方法.
     */
    public void setChangedAt(Date changedAt) {
        this.changedAt = changedAt;
    }

    /**
     * @return String 取得域 createdBy 的方法。
     */
    public String getCreatedBy() {
        return this.createdBy;
    }

    /**
     * @param createdBy 对域 createdBy 的设置方法.
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * @return String 取得域 changedBy 的方法。
     */
    public String getChangedBy() {
        return this.changedBy;
    }

    /**
     * @param changedBy 对域 changedBy 的设置方法.
     */
    public void setChangedBy(String changedBy) {
        this.changedBy = changedBy;
    }

    /**
     * @return Long 取得域 vistingTime 的方法。
     */
    public Long getVistingTime() {
        return this.vistingTime;
    }

    /**
     * @param vistingTime 对域 vistingTime 的设置方法.
     */
    public void setVistingTime(Long vistingTime) {
        this.vistingTime = vistingTime;
    }

    /**
     * @return String 取得域 description 的方法。
     */
    public String getDescription() {
        return this.description;
    }

    /**
     * @param description 对域 description 的设置方法.
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * @return List<MCaseFileImg> 取得域 adviceList 的方法。
     */
    public List<MCaseFileImg> getAdviceList() {
        return this.adviceList;
    }

    /**
     * @param adviceList 对域 adviceList 的设置方法.
     */
    public void setAdviceList(List<MCaseFileImg> adviceList) {
        this.adviceList = adviceList;
    }

    /**
     * @return List<MCaseFileImg> 取得域 prescriptionList 的方法。
     */
    public List<MCaseFileImg> getPrescriptionList() {
        return this.prescriptionList;
    }

    /**
     * @param prescriptionList 对域 prescriptionList 的设置方法.
     */
    public void setPrescriptionList(List<MCaseFileImg> prescriptionList) {
        this.prescriptionList = prescriptionList;
    }

    /**
     * @return List<MCaseFileImg> 取得域 checkList 的方法。
     */
    public List<MCaseFileImg> getCheckList() {
        return this.checkList;
    }

    /**
     * @param checkList 对域 checkList 的设置方法.
     */
    public void setCheckList(List<MCaseFileImg> checkList) {
        this.checkList = checkList;
    }

}
